'use strict';

const { default: SnowflakeId } = require('snowflake-id');

// 创建雪花ID生成器实例
const snowflakeId = new SnowflakeId();

/**
 * 生成雪花算法ID
 * @returns {string} 雪花ID
 */
function generateSnowflakeId() {
  return snowflakeId.generate();
}

/**
 * 验证是否为有效的雪花ID
 * @param {string|number} id 待验证的ID
 * @returns {boolean} 是否有效
 */
function isValidSnowflakeId(id) {
  if (!id) return false;
  const numId = typeof id === 'string' ? parseInt(id, 10) : id;
  return !isNaN(numId) && numId > 0;
}

module.exports = {
  generateSnowflakeId,
  isValidSnowflakeId,
};